#!/usr/local/bin/python
#
# Python library to provide a consistent mapping of hardware names
# There are millions of different ways of referring to the same hardware
# This function provides a simplistic map of all those ways of calling hardware
#
# Written by Dougal Scott <ddougal.scott@gmail.com>
# $Id: hardware.py 4580 2013-03-12 02:45:53Z dougals $
# $HeadURL: http://svn/ops/unix/explorer/trunk/explorer/hardware.py $

import sys

hwmap={
    'apple_g3': ['g3_mac', 'apple macintosh g3'],
    'apple_g5': ['g5_mac'],
    'dell_gx110': ['optiplex gx110'],
    'dell_gx520': ['optiplex gx520'],
    'dell_pe1550': ['poweredge 1550'],
    'dell_pe1650': ['poweredge 1650'],
    'dell_pe1800': ['poweredge 1800', 'dell poweredge 1800'],
    'dell_pe1850': ['poweredge1850', 'poweredge 1850'],
    'dell_pe1855': ['poweredge 1855', 'power edge 1855', 'pweredge 1855 chassis'],
    'dell_pe1900': ['poweredge 1900', 'power edge 1900'],
    'dell_pe1950': ['dell poweredge 1950', 'poweredge 1950'],
    'dell_pe1955': ['dell poweredge 1955', 'poweredge 1955'],
    'dell_pe2500': ['dell poweredge 2500', 'poweredge 2500', 'poweredge2500'],
    'dell_pe2650': ['dell poweredge 2650', 'poweredge 2650', 'poweredge2650'],
    'dell_pe2850': ['dell poweredge 2850', 'poweredge 2850', '2850'],
    'dell_pe2950': ['dell poweredge 2950', 'poweredge 2950'],
    'dell_pe4400': ['dell poweredge 4400', 'poweredge 4400'],
    'dell_pe700': ['dell poweredge 700'],
    'dell_pe750': ['dell poweredge 750', 'poweredge 750'],
    'dell_pe800': ['dell poweredge 800'],
    'dell_pe8450': ['dell poweredge 8450 01234567890123456789012345678901', 'dell pe 8450'],
    'dell_pe850': ['dell poweredge 850'],
    'dell_pe860': ['poweredge 860'],
    'dell_pe885': ['dell pe 885'],
    'dell_pv745': ['powervault 745n'],
    'dell_pvnx300': ['powervault nx300'],
    'hp_1600': ['hp proliant 1600', 'cpq pro 1600'],
    'hp_alpha_ds10': ['alphaserver ds10'],
    'hp_alpha_ds25': ['alphaserver ds25'],
    'hp_bl20p_g3': ['proliant bl20p g3', 'bl20p g3'],
    'hp_bl25p': ['proliant bl25p', 'bl25p'],
    'hp_bl25p_g1': ['proliant bl25p g1', 'bl25p g1'],
    'hp_bl25p_g2': ['proliant bl25p g2', 'bl25p g2'],
    'hp_bl450c': ['bl450c', 'proliant bl450c g1', 'bl450c g1 e5450', 'bl450c g1', 'proliant bl450c g1'],
    'hp_bl45p': ['proliant bl45p', 'bl45p', 'hp bl45p'],
    'hp_bl45p_g2': ['proliant bl45p g2'],
    'hp_bl460c': ['bl460c', 'proliant bl460c blade', 'bl460', 'bl 460 c', 'bl 460c', '460c', 'hp bl460c (4594870b21)'],
    'hp_bl460c_g1': ['proliant bl460c g1', 'bl460c g1 e5450', 'bl460c g1', 'proliant bl460c g1',],
    'hp_bl460c_g6': ['proliant bl460c g6', 'bl460c g6', ],
    'hp_bl460c_g7': ['proliant bl460c g7', 'bl460c g7', 'proliant bl460 g7', 'bl460 g7', 'hp bl460c g7 e5640' ],
    'hp_bl460c_g8': ['proliant bl460c g8', 'bl460c g8', 'proliant bl460 g8', 'bl460 g8'],
    'hp_bl490c': ['bl490c',],
    'hp_bl490c_g6': ['bl490c g6',],
    'hp_bl490c_g7': ['bl490c g7', 'hp bl490c g7'],
    'hp_bl620c_g7': ['proliant bl620c g7', 'bl620g7'],
    'hp_dc7100': ['dc7100'],
    'hp_dc7600': ['dc7600', 'dc7600 tower', 'hp compaq dc7600 convertible minitower'],
    'hp_dc7700': ['dc7700', 'dc7700 p'],
    'hp_dc7800': ['dc7800'],
    'hp_dl140': ['proliant dl140', 'dl140'],
    'hp_dl140_g3': ['proliant dl140 g3', 'dl140 g3'],
    'hp_dl180_g6': ['proliant dl180 g6', 'dl180 g6'],
    'hp_dl320': ['dl320', 'compaq dl320', 'hp proliant dl320', 'cpq pro dl320', 'hp dl320', 'dl320', 'compact dl320', 'proliant dl320', 'hp dl320gp e3110'],
    'hp_dl320_g2': ['hp proliant dl320 g2', 'hp pro dl320 g2', 'proliant dl320 g2'],
    'hp_dl320_g3': ['hp_proliant_dl320_g3', 'proliant dl320 g3', 'dl320 g3'],
    'hp_dl320_g4': ['proliant dl320 g4', 'dl320 g4'],
    'hp_dl320_g5': ['dl 320 g5p', 'dl 320 g5 p', 'dl320 g5', 'dl320 g5p', 'dl320g5', 'hp dl320 g5', 'proliant dl320 g5p', 'proliant dl320 g5', 'hpdl320g5', 'dl320 g5p', 'dl320 gs'],
    'hp_dl320_g6': ['hp dl 320 g6', 'dl320 g6', 'proliant dl320 g6', 'dl 320 g6'],
    'hp_dl320_g7': ['hp dl 320 g7', 'dl320 g7', 'dl320g7'],
    'hp_dl320_g8': ['hp dl 320 g8', 'dl320 g8', 'dl320g8'],
    'hp_dl340_g8': ['dl340e gen8'],
    'hp_dl360': ['compaq dl360', 'hp proliant dl360', 'cpq pro dl360', 'dl360', 'dl 360'],
    'hp_dl360_g2': ['hp pro dl360 g2', 'dl360 g2', 'proliant dl360 g2',],
    'hp_dl360_g3': ['hp pro dl360 g3', 'dl360 g3', 'proliant dl360 g3'],
    'hp_dl360_g4': ['dl360 g4', 'hp proliant dl360 g4p', 'hp pro dl360 g4', 'compaq proliant dl360 g4', 'dl360r04 x3.4/800/1m/1g 1p', 'proliant dl360 g4p', 'dl360 g4p', 'proliant dl360 g4', 'hp dl360 g4', 'compaq dl360 g4', 'dl360g4', 'dl 360 g4p'],
    'hp_dl360_g5': ['hp dl360 g5', 'proliant dl360 g5', 'dl360 g5', 'dl360g5', 'dl360g5 5140 1f ap svr', 'dl360r05', 'proliant dl360 g5', 'dl 360 g5', 'proliant dl 360 g5', 'dl360 r05'],
    'hp_dl360_g6': ['dl360 g6', 'dl 360 g6', 'proliant dl360 g6'],
    'hp_dl360_g7': ['dl360 g7', 'dl 360 g7', 'dl360g7', 'prolian dl360 g7', 'proliant dl360 g7'],
    'hp_dl360_g8': ['dl360 g8', 'dl 360 g8', 'dl360g8', 'prolian dl360 g8', 'proliant dl360 g8', 'dl360p gen8'],
    'hp_dl380': ['compaq proliant dl380', 'cpq proliant dl380', 'dl380 g1', 'dl380', 'hp proliant dl380', 'cpq pro dl380', 'proliant dl380', 'hewlett packard proliant dl380', 'compaq proliant dl380 r01'],
    'hp_dl380_g2': ['hp proliant dl380 g2', 'compaq proliant dl380 g2', 'hp proliant dl380 g2', 'cpq pro dl380 g2', 'proliant dl380 g2'],
    'hp_dl380_g3': ['compaq proliant dl380 g3', 'dl380 g3', 'hp dl380 g3', 'hp proliant dl380 g3', 'hp pro dl380 g3',  'cpq pro dl380 g3', 'proliant dl380 g3',  'hewlett packard proliant dl380 r03'],
    'hp_dl380_g4': ['dl380 g4', 'hp proliant dl380 g4', 'hp pro dl380 g4', 'proliant dl380 g4', 'compaq proliant dl380 g4', 'dl380/g4'],
    'hp_dl380_g5': ['dl380g5', 'proliant dl380 g5', 'proliant dl380 g5', 'dl380 g5', 'dl 380 g5', 'dl380 r05', 'dl380 g5p'],
    'hp_dl380_g6': ['proliant dl380 g6', 'dl380 g6', 'dl380g6'],
    'hp_dl380_g7': ['proliant dl380 g7', 'dl380 g7', 'dl380g7', 'dl 380 g7'],
    'hp_dl385': ['hp dl385', 'dl385'],
    'hp_dl385_g1': ['dl385 g1', 'proliant dl385 g1'],
    'hp_dl385_g2': ['dl385 g2'],
    'hp_dl385_g5': ['dl385 g5p'],
    'hp_dl450': ['dl450'],
    'hp_dl560_g1': ['dl560 g1'],
    'hp_dl580': ['compaq proliant dl580', 'cpq pro dl580', 'dl580', 'proliant dl580'],
    'hp_dl580_g2': ['cpq pro dl580 g2', 'hp proliant dl580 g2', 'proliant dl580 g2'],
    'hp_dl580_g3': ['hp pro dl580 g3'],
    'hp_dl580_g5': ['dl580 g5', 'proliant dl580 g5'],
    'hp_dl580_g7': ['dl580 g7', 'proliant dl580 g7'],
    'hp_dl585': ['dl585'],
    'hp_dl585_g1': ['dl585 g1'],
    'hp_dl6000': ['cpq pro 6000', 'cpq dpro 6000'],
    'hp_dl7000': ['cpq pro 7000'],
    'hp_dl800': ['cpq pro 800', 'proliant 800'],
    'hp_elite8000': ['hewlett-packard hp compaq 8000 elite sff pc', ],
    'hp_gl360_g5': ['proliant gl360 g5',],
    'hp_gl380_g5': ['proliant gl380 g5',],
    'hp_ml110': ['ml110',],
    'hp_ml110_g4': ['ml110 g4',],
    'hp_ml110_g7': ['ml110 g7', 'proliant ml110 g7'],
    'hp_ml110_g8': ['ml110 g8',],
    'hp_ml150': ['ml150',],
    'hp_ml310': ['ml310', 'ml310 t04'],
    'hp_ml310_g1': ['proliant ml310 g1',],
    'hp_ml310_g2': ['ml310 g2'],
    'hp_ml310_g4': ['ml310 g4'],
    'hp_ml310_g4': ['proliant ml310 g4', 'ml310 g4'],
    'hp_ml310_g5': ['proliant ml310 g5', 'ml310 g5'],
    'hp_ml350': ['cpq pro ml350', 'proliant ml350', 'ml350', 'ml350 t'],
    'hp_ml350_g2': ['proliant ml350 g2', 'ml350 g2'],
    'hp_ml350_g3': ['proliant ml350 g3', 'compaq ml350-gx3', 'compaq proliant ml350-g3', 'ml350 g3'],
    'hp_ml350_g4': ['proliant ml350 g4', 'ml350 g4'],
    'hp_ml350_g5': ['proliant ml350 g5', 'ml350 g5'],
    'hp_ml350_g6': ['proliant ml350 g6', 'ml350 g6', 'hp ml350 g6'],
    'hp_ml350_g8': ['proliant ml350 g8', 'ml350 g8', 'hp ml350 g8', 'ml350p g8', 'ml350g8'],
    'hp_ml370': ['ml370',],
    'hp_ml370_g5': ['proliant ml370 g5',],
    'hp_ns1000': ['hp netserver lp1000r', "hp netserver 'lp100r", 'netserver lp 1000 r', 'hp netsvr lp1000r'],
    'hp_ns8500': ['net srv lxr 8500 p176683', 'hp netsvr lxr8500'],
    'hp_nse800': ['hp netsvr e800'],
    'hp_nslh3': ['hp netsvr lh3'],
    'hp_nslh3000': ['hp netsvr lh3000r'],
    'hp_nslh4': ['hp netsvr lh4r'],
    'hp_rx2800': ['rx2800'],
    'hp_z210': ['z210'],
    'ibm_7009': ['ibm 7009 c10'],
    'ibm_epro': ['ibm is epro 6204-101'],
    'ibm_h50': ['ibm enterprise h50', 'ibm 7026 h50'],
    'ibm_hs20': ['ibm_bladecentre_hs20', 'ibm bladecentre hs20', 'ibm ibm bladecenter hs20 -[884311m]-', 'ibm bc hs20 8678-21x', 'ibm bc hs20 8832-m1x', 'ibm bc hs20 8843-11m', 'ibm bc hs20 8843-45m', 'ibm bc hs20 8832-21x', 'ibm bc hs20 8843-25m', 'ibm bc hs20 8843 35m', 'ibm hs20 8843-35m', '8832m1x', '884311m', '867821x', '884345m', '883221x', '8832l1x', '867841x', '884335m', 'ibm bladecenter hs20 -[884325m]-','ibm eserver bladecenter hs20 -[884311m]-', 'ibm bladecenter hs20 -[884335m]-', 'ibm bladecenter hs20 -[884345m]-', 'ibm eserver bladecenter hs20 -[884325m]-', 'ibm bladecenter hs20 -[884311m]-', 'ibm bc hs20 8832-l1x', 'ibm bc hs20 8832-31x', 'ibm bc hs20 8678-41x', 'ibm hs20 8843-45m', 'ibm hs20 mt-m8677-3xm', 'ibm blade center m/t-m8677-2xx' ],
    'ibm_hs21': ['ibm bc hs 21 8853-l6m', '8853l6m'],
    'ibm_hs40': ['ibm bladecentre hs40','ibm bc hs40 8839-71x','ibm bc hs40 8839-51x', 'ibm - hs40', '883971x', 'ibm eserver bladecenter hs40 -[883951x]-', 'ibm eserver bladecenter hs40 -[883951x]-           01'],
    'ibm_mpro': ['ibm is mpro 6850-22a', 'ibm m pro', 'ibm intellistation mpro'],
    'ibm_nf4500': ['ibm netfinity 4500', 'ibm_nf_4500_8656-4ry', '4500r 6656-9ry', 'ibm nf 4500 8656-4ry'],
    'ibm_nf5500': ['ibm nf 5500 m20 8662-3ry'],
    'ibm_nf6000': ['ibm netfinity 6000', 'ibm_nf_6000_8682-1ry', 'ibm netfinity 6000r', 'ibm nf 6000 8682-1ry', 'nf 6000r'],
    'ibm_p185': ['ibm 7037 a50'],
    'ibm_p505': ['ibm 9115 505'],
    'ibm_p510': ['ibm 9110 510', 'ibm 9110 51a'],
    'ibm_p520': ['ibm 9111 520', 'p series p520', 'ibm 9131 52a'],
    'ibm_p530': ['ibm powerserver 530h', 'ibm 7013 530'],
    'ibm_p550': ['ibm 9113 550', 'ibm 9133 55a', 'ibm p550'],
    'ibm_p560': ['ibm 9116 561'],
    'ibm_p570': ['p570mms', '9117-mma'],
    'ibm_p615': ['ibm 7029 6e3'],
    'ibm_p630': ['ibm 7028 6c4'],
    'ibm_p650': ['ibm 7038 6m2'],
    'ibm_p660': ['ibm 7014 t42'],
    'ibm_x205': ['ibm x 205 8480-52x'],
    'ibm_x206': ['ibm x 206 8482-14x'],
    'ibm_x225': ['ibm x225 tower', 'ibm xseries 225', 'ibm x 225 8649-6bx', 'ibm x 225 8647-3bx', 'ibm x 225 8647-22x', 'ibm x225', 'ibm mx225', '-[86496bx]-', '-[8647xxx]-   1.0'],
    'ibm_x226': ['ibm x226', 'ibm x 226 8648-4bm', 'ibm x 226 8648-5bm', 'ibm x226 8648-5bm', 'ibm x226 8648-1bm', 'ibm x 226 8648-1bm', 'ibm xseries 226', 'ibm eserver x226-[86485bm]-', 'ibm eserver x226-[86484bm]- not applicable', 'ibm eserver x226-[86485bm]- not applicable', 'ibm x226 mt-m8648-4bm', 'ibm x226 mt-m8648-1bm', 'ibm x226 mt-m8648-5bm'],
    'ibm_x235': ['x235', 'ibm xseries 235', 'ibm x 235 8671-max', 'x235 - 8671-7ax', 'eserver xseries 235 -[8671max]-', 'ibm x 235 8671-7ax', 'eserver xseries 235 -[86712ax]-'],
    'ibm_x236': ['x236', 'ibm x236', 'ibm xseries 236', 'ibm x 236 8841-11m', 'server 8841-25m', 'server 8841-11m', 'eserver xseries 236 -[884111m]-'],
    'ibm_x300': ['ibm xseries 300', 'ibm x300', 'ibm x 300 8672-52x', 'x300', '-[867252x]-'],
    'ibm_x305': ['ibm x305', 'x305'],
    'ibm_x306': ['ibm xseries 306', 'ibm x 306 8836-41m', '-[883641m]-', 'xseries_306 [883625x]'],
    'ibm_x3200': ['system x3200', 'ibm system x3200 -[436222m]-'],
    'ibm_x3250': ['x3250 m2'],
    'ibm_x335': ['ibm x335', 'x335', 'ibm xseries 335', 'x335 8875-41x', 'ibm x 335 8676-41x', 'x series 335', 'eserver xseries 335 -[8676l1x]-', 'eserver xseries 335 -[8676m1x]'],
    'ibm_x336': ['ibm xseries 336', 'x336', 'ibm x336', 'ibm x 336 8837-21m', 'ibm x 336 8837-25m', 'x336 - 8837-25m', 'x336 - 8837-45m', 'x336 m 8837-25m', 'eserver xseries 336 -[883721m]-', 'ibm x 336 8837-31m', 'ibm x 336 8837-45m', 'x series 336', 'eserver xseries 336 -[883711m]-', 'xseries 336', 'eserver xseries 336 -[883711m]-', 'xseries 336'],
    'ibm_x345': ['ibm x345', 'ibm x 345 8670-61x', 'ibm x 345 8670-m1x', 'ibm x 345 8670-71x', 'ibm x 345 8670-l1x', 'ibm xseries 345', 'ibm x345 8670-m1x', 'ibm x345-8670-m1x', 'x345 8670-m1x', 'x345 8670-61x', 'eserver xseries 345 -[867071x]-', 'eserver xseries 345 -[867061x]-', 'eserver xseries 345 -[8670m1x]-', 'eserver xseries 345 -[8670l1x]-', 'eserver xseries 345 -[4444aaa]-', 'ibm x345 mt-m8670-m1x', 'ibm x345 mt-m8670-61x', 'ibm x345 m/t-m8670-l1x'],
    'ibm_x346': ['ibm x 346 8840-25m', 'ibm x 346 8840-11m', 'ibm x 346 8840-21m', 'ibm x 346 8840-31m', 'ibm xseries 346', 'ibm_xseries_346', 'ibm x346', 'ibm x 346 8840-35m', 'ibm x 346 8840-45m', 'x346 m8840 35m', 'x346', 'x346-m8840-35m', 'ibm x series 346', 'ibm 346', 'x346 - 8840-25m', 'x346 - 8840-35m', 'x346 - 8840-d1m', 'x346 8840-d1m', 'x346 - 8840-11m', 'x346-8840-35m', 'x346 - 8840-45m', 'x346 8840-35m', 'x346 8840-35m', 'x346 m 8840-35m', 'x346 m 8840-45m', 'x346 m8840-45m', 'x346 8840-31m', 'x346 8840-25m', 'x346 8840-11m', 'eserver xseries 346 -[884025m]-', 'eserver xseries 346 -[884011m]-', 'eserver xseries 346 -[884031m]-',  'eserver xseries 346 -[884035m]-', 'eserver xseries 346 -[884045m]-', 'eserver xseries 346 -[884021m]-', 'ibm x346 8840-35m', 'ibm eserver xseries 346 -[884021m]-', 'ibm eserver xseries 346 -[884025m]-', 'ibm x 346 8840-d1m', 'ibm_x346', 'eserver xseries 346 -[8840d1m]-', 'ibm x346 mt-m8840-25m', 'ibm x346 mt-m8840-11m', 'ibm x346 mt-m8840-25n', 'ibm x346 mt-m8840-21m', 'ibm x346 mt-m8840-31m', 'ibm x346 mt-m8840-35m', 'ibm x346 m/t-m8670-m1x', 'x series 346'],
    'ibm_x3550': ['ibm 3550', 'ibm x3550 7978-g5m', 'ibm x3550 7978-51m', 'ibm x3550 7978-c2m', 'x3550 - 7978-71m', 'x3550 - 7978-g5m', 'x3550 - 7978-51m', 'ibm system x3550 -[797851m]-', 'ibm system x3550 -[7978g5m]-', 'ibm system x3550 -[7978c2m]-', 'ibm x 3550 7978-g5m', 'ibm x 3550 7978-71m', 'ibm x 3550 7978-51m', 'ibm system x3550 -[797871m]-', 'ibm x3550 mt-m7978-g5m', 'ibm x3550', 'ibm x3550 mt7978'],
    'ibm_x360': ['ibm xseries 360', 'ibm x360', 'x360', 'x360 8686-4rx', 'ibm x 360 8686-4rx', 'x series 360'],
    'ibm_x365': ['x365', 'ibm xseries 365', 'x365', 'ibm x 365 8862-4rx', 'eserver xseries 365 -[88624rx]-' ],
    'ibm_x3650': ['ibm xseries 3650', 'ibm x 3650 7979-51m', 'x3650', 'x3650 - 7979-71m', 'x3650 - 7979-51m', 'x3650 - 7979-b7m', 'x3650 m7979-51m', 'ibm system x3650 -[797971m]-', 'ibm x 3650 7979-7am', 'ibm x 3650 7979-71m', 'ibm x 3650 7979-41m', 'ibm x3650 mt-m7979-51m', 'ibm system x3650 -[7979b4m]-', 'system x 3650', 'system x3650 m2 -[7947yb5]-', 'system x3650 m2 -[7947yrq]-', 'system x3650 m2 -[7947yd9]-', 'system x3650 m3 -[7945ub7]-', 'ibm system x3650 -[7979c4m]-' ],
    'ibm_x3655': ['ibm system x3655 -[79854am]-', 'ibm x3655 7985 - 4am', 'ibm x3655 mt79854am', 'ibm x3655 mt:79854am' ],
    'ibm_x366': ['ibm x366', 'x366', 'ibm xseries 366', 'ibm_xseries_366', 'ibm x 366 8863-1rm', 'x366 8863-1rm', 'ibm x366 mt-m8863-1rm'],
    'ibm_x3850': ['ibm xseries 3850', 'ibm x 3850 8863-45m', 'ibm x 3850 8863-4sm', 'ibm x 3850 8863-45n', 'ibm x 3850 8864-1rm'],
    'ibm_x440': ['x440 8687 - 3ry'],
    'ibm_x445': ['ibm xseries 445', 'x445', 'ibm x 445 8870-1rx', 'ibm x445', 'ibm x 445 8870-4ry', 'eserver xseries 445 -[88704ry]-', 'eserver xseries 445 -[887012x]-'],
    'ibm_x460': ['ibm x460', 'x460'],
    'ibm_zpro': ['ibm is zpro 6866-69a', 'ibm z pro', 'ibm intellistation z pro'],
    'ipex_p2': ['ipex p2 400', 'ipex pc p2 400', 'ipex p2 350'],
    'ipex_p3': ['ipex p3 866', 'ipex pc p3 866', 'ipex p3 667', 'ipex p3 800'],
    'ipex_unknown': ['ipex pc unknown', 'ipex pc'],
    'nec_express5800': [ 'express5800' ],
    'nec_express5800_110': [ 'express5800/110ef [n8100-808f]', 'express5800/110eg [n8100-856f]', 'nec express5800/110ge [n8100-1449f]'],
    'nec_express5800_120': [ 'express5800/120lg [n8100-899f]', 'express5800/120lh [n8100-1076f]', 'express 5800/120lh [ n8100-1218f]', 'express 5800/120rd-1', 'express5800/120rd-1 [n8100-859f]', 'express5800/120rd-1 [n8100-870f]', 'express5800/120rd-1 [n8100-919f]', 'express5800/120re-2 [n8100-817]', 'express5800/120re-2 [n8100-818f]', 'express5800/120rf-2 [n8100-922f]', 'express5800/120rg-2 [n8100-953f]', 'nec express5800/120lf [n8100-782af]', 'nec express5800/120lg [n8100-866f]', 'nec express5800/120lg [n8100-899f]', 'nec express5800/120lh [n8100-1076f]', 'nec express5800/120lh [n8100-1132f]', 'nec express5800/120mf [n8100-903f]', 'nec express 5800/120rd-1', 'nec express5800/120rd-1 [n8100-859f]', 'nec express5800/120rd-1 [n8100-919f]', 'nec express5800/120rf-2 [n8100-922f]', 'nec express5800/120rg-2 [n8100-953f]', '5800/120rc-1', 'nex express5800/120re-1 [n8100-950f]', 'nec express5800/120rf-2 [n8100-863f]', 'nec express5800/120re-1 [n8100-950f]', 'nec express5800/120lh', 'nec express5800/120rd-1'],
    'nec_express5800_140': [ 'express5800/140rc-4 [n8100-821f]',],
    'sun_10k': ['sun fire 10000', '10k', 'sun fire 10k', 'sun microsystems sun fire 10k', 'enterprise 10000', 'ultra-enterprise-10000'],
    'sun_12k': ['sun fire 12000', '12k', 'sun fire 12k', 'sun microsystems sun fire 12k'],
    'sun_15k': ['sun fire 15000', '15k', 'sun fire 15k', 'sunw,sun-fire-15000'],
    'sun_25k': ['sun fire 25k', 'sunfire 25k', 'sunfire e25k', 'sun fire e25k', 'enterprise 25000', 'sun e25k domain', 'e25k', 'sunfire enterprise 25k', 'e25k domain', 'oracle corporation   sun fire e25k', 'sunfireenterprise 25k'],
    'sun_280r': ['sun sunfire 280r', '280r', 'sun fire 280r', 'sun enterprise 280r', 'sun 280r', 'sun e280r', 'sunw,sun-fire-280r', 'sun microsystems sun fire 280r', 'sunfire 280r', 'oracle corporation   sun fire 280r'],
    'sun_4800': ['sun fire 4800'],
    'sun_6800': ['sun fire 6800', 'sunfire 6800'],
    'sun_blade100': ['sun sunblade 100', 'sunblade100', 'sun blade 100', 'sunblade100', 'sun sunblade100', 'sunblade100', 'sunblade 100', 'sun microsystems blade 100', 'sanblade 100'],
    'sun_blade1000': ['sunw,sun-blade-1000'],
    'sun_blade150': ['sun sunblade 150', 'sunblade150', 'sun blade 150', 'sunblade150', 'sun sunblade150', 'sunblade150', 'sunblade 150'],
    'sun_blade2000': ['sunw,sun-blade-2000', 'sun blade 2000', 'sunblade-2000'],
    'sun_cp1500': ['sparcengine(tm)ultra cp 1500'],
    'sun_cp2000': ['sparcengine cp2000 model 140', 'oracle corporation   sparcengine cp2000 model 140', 'sparcengine cp2000'],
    'sun_e220r': ['sun_e220r', 'sun e220r', 'e220r', 'sun enterprise 220r', 'sun 220r', 'sun sunfire 220r', 'sun microsystems sun enterprise 220r', 'enterprise 220r', 'sun enterprise 220r (2 x ultrasparc-ii 4', 'sunenterprise 220r'],
    'sun_e250': ['sun e250', 'e250', 'sun enterprise 250', 'sun 250', 'enterprise 250', 'sun (tm) enterprise 250', 'sunenterprise 250'],
    'sun_e2900': ['sun fire e2900'],
    'sun_e3500': ['e3500', 'sun enterprise 3500', 'sun e3500', '5-slot sun enterprise e3500', 'sun microsystems enterprise 3500', 'enterprise 3500'],
    'sun_e4000': ['sun e4000'],
    'sun_e420r': ['e420r', 'sun 420r', 'sun enterprise 420r', 'sun e420r', 'enterprise 420r', 'sun microsystems sun enterprise 420r', 'enterprise 420rsun enterprise 420r'],
    'sun_e450': ['e450', 'sun v450', 'sun 450', 'sun enterprise 450', 'sun e450', 'enterprise 450', 'sun enterprise e450', 'sun ultra 450', 'sun microsystems sun enterprise 450', 'sun microsystems ultra enterprise 450', 'sunenterprise 450'],
    'sun_e4500': ['8-slot sun enterprise e4500/e5500', 'e4500', 'sun v4500', 'sun enterprise 4500', 'sun e4500', 'sun e5500', 'sun microsystems enterprise 4500'],
    'sun_e6900': ['sun fire e6900'],
    'sun_m3000': ['sun sparc enterprise m3000 server', 'm3000', 'sun m3000', 'oracle corporation   sun sparc enterprise m3000 server', 'sunsparc m3000', 'sunsparcenterprise m3000'],
    'sun_m4000': ['sun sparc enterprise m4000 server', 'm4000'],
    'sun_m9000': ['sun sparc enterprise m9000 server', 'm9000', 'm9000 domain', 'sun m9000 domain', 'm9000-32', '9000 d', 'sparc enterprise m9000 server', 'oracle corporation   sparc enterprise m9000 server', 'sunsparc m9000', 'sunsparcenterprise m9000', 'sun m9000'],
    'sun_netra120': ['netra 120'],
    'sun_netra240': ['netra 240'],
    'sun_raqxtr': ['sun cobalt raq xtr', 'raq xtr', 'cobalt raq xtr'],
    'sun_sparc20': ['sun sparc20', 'sparcstation 20'],
    'sun_ss1000': ['sun sparcserver 1000e'],
    'sun_t1': ['sun netra t 1120/1125', 't1120', 'sun netra t 1120', 'sun netra 1125', 'sun netra t 1125', 'sun netra t1 ac200', 'sun netra t1125', 'sun netra t1 105', 'sun netra t1 (105)', 'sun netra t105', 'sun netra t1', 'netra t1 200', 'netra t1', 'sun4u netra t 1120/1125', 'netra t 1120/1125', 'netra t1125' , 'sun microsystems sun netra t1', 'netra t1 ac 200', 'netra t1 ac200', 'netra t1 105', 'netra t1200', 'sunnetra t1200'],
    'sun_t1000': ['sun4v sun fire t1000', 'sun fire t1000', 'sunfire t1000'],
    'sun_t2000': ['sun4v sun fire t200','t2000','sunfire t2000','sun fire t2000', 'sun-fire-t200', 'sunw,sun-fire-t200', 'sunw,sun-fire-t2000', 'sun microsystems sunfire t2000', 'sun microsystems sun fire t2000', 'sunfire t200', 'sun fire t200', 'oracle corporation  sun4v sun fire t200'],
    'sun_t4_1': ['oracle corporation  sun4v sparc t4-1', 't4-1'],
    'sun_t4_4': ['oracle corporation  sun4v sparc t4-4', 't4-4'],
    'sun_t5220': ['sunfire t5220', 'sparc-enterprise-t5220', 'sunw,sparc-enterprise-t5220', 'sun4v sparc enterprise t5220', 'sun t5220', 'sparc enterprise t5220', 'sun microsystems sparc enterprise t5220', 'sun enterprise [tm] t5220', 't5220'],
    'sun_t6300': ['sun4v sun blade t6300 server module', 't6300', 'sunw,sun blade t6300', 'oracle corporation  sun4v sun blade t6300 server module', 'sunblade t6300'],
    'sun_t6320': ['sun4v sun blade t6320 server module', 't6320', 'sun blade t6320', 'sunfire t6320', 'sunfiret6320', 'sun-blade-t6320', 'sun t6320', 'tt6320', 'sun4v sun blade t6320 server module g2', 'sunw,sun-blade-t6320', 'oracle corporation  sun4v sun blade t6320 server module', 'sunw,sun blade t6320 server module', 'oracle corporation  sun4v sun blade t6320 server module g2', 'sunblade t6320'],
    'sun_ultra1':['sun ultra 1 sbus', 'ultra 1', 'sun ultra enterprise1'],
    'sun_ultra10': ['sun ultra-10', 'ultra10', 'sun ultra 10/333', 'sun ultra 10', 'ultra 10'],
    'sun_ultra2':['sun ultra 2', 'ultra enterprise 2', 'ultra 2', 'sun ultra 2 upa/sbus'],
    'sun_ultra20': ['sun ultra-20', 'ultra20'],
    'sun_ultra25': ['sun ultra-25', 'ultra25', 'sun ultra 25'],
    'sun_ultra45': ['sun ultra 45 workstation'],
    'sun_ultra5': ['sun ultra 5/270', 'ultra5', 'sun ultra 5/10', 'sun ultra 5', 'ultra 5', 'sun ultra 5/10 upa/pci'],
    'sun_ultra60':['sun ultra 60', 'sunw,ultra-60', 'ultra 60'],
    'sun_ultra80':['sun ultra 80', 'sunw,ultra-80', 'sun ultra 80 upa/pci', 'sunultra80'],
    'sun_v100': ['sun v100', 'sun fire v100', 'sun sunfire v100', 'sun fire v100 (650mhz)', 'sun fire v100 (500mhz)', 'sun fire v100 (550mhz)', 'sunfire v100', 'sun microsystems sun fire v100'],
    'sun_v120': ['sun v120', 'v120', 'sun fire v120', 'sun sunfire v120', 'sun microsystems sun fire v120', 'sunfire v120'],
    'sun_v125': ['sun v125', 'v125', 'sun fire v125', 'sun sunfire v125', 'sunfire v125', 'sun fire [tm] v125', 'v 125', 'sun-fire v125', 'oracle corporation   sun fire v125'],
    'sun_v1280': ['sun v1280', 'v1280', 'sun sunfire v1280', 'sun fire v1280', 'sun-fire-v1280', 'sunfire v1280'],
    'sun_v20z': ['sun v20z', 'v20z', 'sun sunfire v20z', 'sun fire v20z', 'sun fire v20z', 'sun sunfire v20', 'sunfire v20z', 'sun fire(tm) v20z'],
    'sun_v210': ['sun v210', 'v210', 'sun sunfire v210', 'sun fire v210', 'sun-fire-v210', 'sunfire v210', 'sunw,sun-fire-v210', 'sun microsystems sun fire v210', 'sun fire-v210', 'oracle corporation   sun fire v210'],
    'sun_v215': ['sun fire v215', 'sunfire v215', 'oracle corporation   sun fire v215'],
    'sun_v240': ['sun sunfire v240', 'sun fire v240', 'sun v240', 'sunfire v240', 'sun-fire-v240', 'v240', 'sunw,sun-fire-v240', 'sun v-240', 'sun-fire v240', 'sun microsystems sun fire v240', 'oracle corporation   sun fire v240'],
    'sun_v245': ['sun sunfire v245', 'sun fire v245', 'sun v245', 'sunfire v245', 'v245', 'sun-fire-v245', 'sunw,sun-fire-v245', 'sun fire v245 ultrasparc iiii', 'oracle corporation sun fire v245', 'oracle corporation   sun fire v245'],
    'sun_v40z': ['sun v40z', 'v40z', 'sun sunfire v40z', 'sun fire v40z', 'sun fire v40z', 'sun sunfire v40', 'sunfire v40z', 'sun fire(tm) v40z'],
    'sun_v440': ['sun v440', 'sun fire v440', 'sun sunfire v440', 'sun - v440', 'v440', 'sun-fire-v440', 'sunfire v440', 'sunw,sun-fire-v440', 'sun microsystems sun fire v440', 'storedge v440', 'oracle corporation   sun fire v440'],
    'sun_v445': ['sunfire v445', 'sun fire v445', 'v445', 'oracle corporation   sun fire v445'],
    'sun_v480': ['sun v480', 'v480', 'sun sunfire v480', 'sun fire v480', 'sun-fire-v480', 'sunfire v480', 'sun microsystems sun fire v480', 'sun v480r', 'sun fire 480r', '480r', 'sunfire 480r', 'sunw,sun-fire-480r', 'sunfire 480'],
    'sun_v490': ['sun v490', 'sun sunfire v490', 'sun fire v490', 'sun-fire-v490 (dual core)', 'v490', 'sunw,sun-fire-v490', 'sunfire v490', 'sun microsystems sun fire v490', 'sun fire v490 sparc iv+', 'oracle corporation   sun fire v490'],
    'sun_v60x': ['sunfire v60x',],
    'sun_v65x': ['sun v65x', 'v65x', 'sun fire v65x', 'sun sunfire v65x', 'sunfire v65x', 'sun fire(tm) v65 370-6035', 'sun microsystems lx65'],
    'sun_v880': ['sun fire 880', 'sun sunfire v880', 'sun v880', 'v880', 'sunfire v880', 'sun-fire-880', 'sun enterprise v880', 'sunw,sun-fire-880', 'sun microsystems sun fire v880'],
    'sun_v890': ['sun v890', 'sun sunfire v890','sun fire v890', 'sun-fire-v890 (dual core)', 'sun-fire-v890', 'sunw,sun-fire-v890', 'sun microsystems sun fire v890', 'v890', 'oracle corporation   sun fire v890', 'sunfire v890'],
    'sun_x1': ['sun netra x1', 'netra x1', 'x1', 'sun microsystems sun netra x1', 'sun microsystems netra x1', 'sunnetra x1'],
    'sun_x2100': ['sun sunfire x2100', 'sun fire x2100', 'x2100', 'sunfire x2100'],
    'sun_x2100_m2': ['x2100 m2', 'sun fire x2100 m2', 'sun x2100 -m2', 'x2100m2', 'sunfire x2100 m2'],
    'sun_x2200': ['sun sunfire x2200', 'sun fire x2200'],
    'sun_x2200_m2': ['x2200 m2', 'sun fire x2200 m2', 'sun x2200 -m2', 'x2200m2', 'sunfire x2200 m2', 'sun fire x2200 m2 with quad core processor'],
    'sun_x4100': ['sun_fire_x4100', 'sunfire x4100','sun x4100','sun v4100','sun sunfire x4100', 'sun galaxy 1', 'sun fire x4100 server', 'sun fire x4100', 'x4100', 'sun fire 4100x', 'sun x4100mt', 'sun x 4100', 'sun microsystems sun fire x4100'],
    'sun_x4100_m2': ['sun fire x4100 m2', 'sun x4100 m2'],
    'sun_x4140': ['sun fire x4140', 'sun fire x4140 x64 server', 'sun 4140', 'sun x4140', 'sun microsystems sun fire x4140', 'sunfire x4140', 'sunfire x4140', 'x4140'],
    'sun_x4200': ['sun fire x4200', 'sun galaxy 2', 'sun sunfire x4200', 'sun x4200', 'sun fire x4200 server', 'x4200', 'sun microsystems sun fire x4200'],
    'sun_x4200_m2': ['sun fire x4200 m2', 'sunfire x4200 m2'],
    'sun_x4440': ['sun fire x4440'],
    'sun_x4500': ['sun fire x4500', 'sun x4500', 'sunfire x4500'],
    'sun_x4600': ['sun x4600', 'x4600', 'sun sunfire x4600', 'sun galaxy 4', 'sun fire x4600', 'sun_fire_x4600_m2', 'sun fire x4600 m2', 'sunfire x4600', 'v4600', '4600', 'sun 4600 i86pc', 'sun microsystems sun fire x4600'],
    'sun_x6220': ['sun blade x6220 server module', 'sunblade x6220', 'x6220'],
    'unknown_pc': ['soe_pc_acer', 'soe pc acer','spinridge_pc', 'acer_p4', 'acer_pc', 'spin ridge pc', 'dell?', 'acer p4', 'acer pc', 'desktop', 'pc clone', 'veriton 5600g', 'acer veriton 5600gt', 'compaq deskpro ep/sb series', 'deskpro ep series', 'deskpro'],
    ('3com_ss500', 'router'): ['super stack ii 500'],
    ('alteon_184', 'loadbal'): ['alteon 184'],
    ('alteon_2208', 'console'): ['alteon 2208'],
    ('alteon_3408', 'loadbal'): ['alteon_3408', 'alteon 3408'],
    ('alteon_410', 'appliance'): ['alteon ssl-410', 'alteon ssl 410'],
    ('alteon_ad3', 'loadbal'): ['alteon_ad3'],
    ('alteon_ad4', 'loadbal'): ['alteon_ad4'],
    ('bluecoat_510', 'appliance'): ['bluecoat 510-c', 'bluecoat_510', 'blue coat 510-a', 'sg510', 'blue coat proxy sg510-a', 'bluecoat sg510'],
    ('bluecoat_810', 'appliance'): ['blue coat sg810-25'],
    ('brocade_200b', 'fibre'): ['brocade 200b'],
    ('brocade_24000', 'fibre'): ['emc ed-24000b'],
    ('brocade_300d', 'fibre'): ['brocade 300d', '300d'],
    ('brocade_3900', 'fibre'): ['brocade 3900', 'brocade silkworm 3900'],
    ('brocade_4800', 'fibre'): ['brocade 4800'],
    ('brocade_5100', 'fibre'): ['brocade 5100', '5100', '5100b'],
    ('brocade_5300', 'fibre'): ['brocade 5300', '5300'],
    ('cisco_1111', 'router'): ['cisco acs 1111'],
    ('cisco_1112', 'router'): ['cisco acs1112'],
    ('cisco_1900', 'router'): ['cisco catalyst 1900', 'cisco1900', 'catalyst 1900'],
    ('cisco_2651', 'router'): ['cisco 2651'],
    ('cisco_2800', 'router'): ['cisco 2800', 'cisco systems 2800'],
    ('cisco_2811', 'router'): ['cisco 2811'],
    ('cisco_2900', 'router'): ['cisco 2900'],
    ('cisco_2948', 'router'): ['cisco 2948', 'cisco 2948g'],
    ('cisco_2950', 'router'): ['cisco 2950-12', 'cisco 2950-24', 'cisco 2950-48', 'ws-c2950t-24', 'cisco systems catalyst 2950-24', 'cisco systems 2950-24', 'cisco systems catalyst 2950t-48', 'cisco systems catalyst 2950t-48-s', 'cisco systems catalyst 2950-48tt', '2950 series'],
    ('cisco_2960', 'router'): ['cisco 2960', 'cisco 2960-48', '2960', 'cisco systems catalyst 2960-24tt', 'cisco systems ws-c2960-24tt-l', 'cisco systems catalyst 2960-48tt', 'cisco systems catalyst 2960-24tc'],
    ('cisco_3000', 'router'): ['cisco 3000 concentrator'],
    ('cisco_3030', 'router'): ['cisco 3030 vpn', 'cisco systems 3030 vpn'],
    ('cisco_3070', 'router'): ['vpn gateway 3070'],
    ('cisco_3500', 'router'): ['cisco 3500', 'catalyst 3500 xl'],
    ('cisco_3524', 'router'): ['cisco systems catalyst 3524-xl'],
    ('cisco_3550', 'router'): ['cisco 3550 12g', 'cisco 3550', 'cisco 3550- 24', 'catalyst 3550'],
    ('cisco_3600', 'router'): ['cisco 3600'],
    ('cisco_3640', 'router'): ['cisco 3640'],
    ('cisco_3660', 'router'): ['cisco 3660', '3660 series mb 2fe'],
    ('cisco_3700', 'router'): ['cisco 3700'],
    ('cisco_3750', 'router'): ['3750 48', 'c3750g 48', 'cisco 3750g 24t', 'cisco 3750', 'cisco 3750g24t', 'cisco c3750g-ts-s', 'cisco 3750 12g', 'c3750g-48-ps', 'cisco 3750-24ps-s', '3750g-48-ps', 'c3750g_24', 'c3750g-24ts-s1u', 'c3750g-48', 'cisco 3750-1ru', 'cisco 3750g-12s', '3750g_24t', 'c3750g 48 ts s 3', 'cisco 3750 24t', 'cisco systems catalyst 3750g-24ts', 'cisco systems catalyst 3750g 24ts', 'cisco systems catalyst 3750g-12s', 'cisco systems catalyst 3750-24ts', 'cisco systems catalyst 3750-24t', 'cisco systems cisco 3750-48ts', 'catalyst 3750 series'],
    ('cisco_3800', 'router'): ['cisco 3800'],
    ('cisco_3825', 'router'): ['cisco 3825'],
    ('cisco_4006', 'router'): ['cisco 4006', 'catalyst 4006'],
    ('cisco_4506', 'router'): ['cisco 4506'],
    ('cisco_4948', 'router'): ['4948-10e', 'cisco 4948g', 'cisco 4948-10e', 'cisco 4948g-10e', '4948g-10e', 'cisco systems catalyst 4948g-10e', 'cisco systems catalyst 4948-10ge'],
    ('cisco_5550', 'router'): ['cisco asa5550 f/wall', 'cisco systems asa5550'],
    ('cisco_6500', 'router'): ['cisco 6500', 'catalyst 6500 e'],
    ('cisco_6503', 'router'): ['cisco 6503'],
    ('cisco_6504', 'router'): ['cisco 6504', 'cisco systems catalyst 6504'],
    ('cisco_6506', 'router'): ['cisco 6506'],
    ('cisco_6509', 'router'): ['cisco 6509', 'cisco systems c6509-e-fan', 'cisco systems catalyst 6509', 'cisco systems catalyst 6509-e'],
    ('cisco_6513', 'router'): ['cisco 6513', 'cisco catalyst 6513'],
    ('cisco_7200', 'router'): ['cisco 7200'],
    ('cisco_7206', 'router'): ['cisco 7206'],
    ('cisco_9216', 'router'): ['cisco mds 9216'],
    ('cisco_asa5300', 'appliance'): ['cisco as5300', 'as5300 - nas'],
    ('cisco_asa5505', 'appliance'): ['asa5505'],
    ('cisco_pix515', 'router'): ['cisco pix515e', 'pix 515e', 'pix 515', 'cisco systems pix-515', 'cisco systems pix-515e'],
    ('cisco_pix525', 'router'): ['cisco secure pix525', 'pix525', 'pix-525-fo-ge-bun', 'cisco systems pix-525'],
    ('dec_900', 'console'): ['decserver 900tm', 'digital decserver 900tm', 'dec 900tm'],
    ('dell_powcon2824', 'router'): ['powerconnect 2824'],
    ('digi_console', 'console'): ['digi 48', 'digi cm 32', 'digi cm32', 'digi console server', 'digi console - 24port', 'digi cm-32', 'digi cm48', 'digi cm-48', 'digicm 32', 'digiport cm server'],
    ('emc_ds300b', 'fibre'): ['emc ds-300b', 'ds-300b', 'emc-ds-300b-8g'],
    ('emc_ds4100b', 'fibre'): ['emc ds-4100b'],
    ('emc_ds4700', 'fibre'): ['ds4700'],
    ('emc_ds5300b', 'fibre'): ['emc ds-5300b'],
    ('emc_ed48000b', 'fibre'): ['emc ed-48000b'],
    ('emc_mp7500b', 'fibre'): ['emc mp-7500b multi-protocol router', 'emc mp-7500b'],
    ('f5_3400', 'loadbal'): ['f5 3400'],
    ('f5_6400', 'loadbal'): ['f5 6400'],
    ('hds_vsp', 'storage'): ['vsp'],
    ('hp_c7000','chassis'): ['hp c7000', 'c7000 g2', 'bladesystem c7000 enclosure'],
    ('hp_d2700','storage'): ['d2700'],
    ('hp_dat40','tape'): ['hp sstore dat 40'],
    ('hp_dlt','tape'): ['hp 160/320gb sdlt'],
    ('hp_msl5026','tape'): ['cpq stworks msl5026'],
    ('hp_ns_storage12','storage'): ['hp netserver rack stor/12'],
    ('hp_ra4100','storage'): ['cpq stworks ra4100r'],
    ('hp_stworks_4314','storage'): ['cpq stworks 4314r'],
    ('hp_stworks_4354','storage'): ['cpq stworks 4354'],
    ('hp_stworks_tl891','tape'): ['cpq stworks tl891dlx', 'cpq stworks tl891'],
    ('ibm_2104','storage'): ['ibm 2104 ds4'],
    ('ibm_3581','tape'): ['ibm 3581 l38'],
    ('ibm_3582','tape'): ['ibm 3582 l23'],
    ('ibm_4560', 'tape'): ['ibm 4560 slx', 'ibm 4560-slx', 'mt/md 4560slx', 'ibm slx4560'],
    ('ibm_4800','storage'): ['ibm ds4800 1815 84a'],
    ('ibm_7310', 'console'): ['ibm 7310 cr2'],
    ('ibm_7315', 'console'): ['ibm 7315 cr2'],
    ('ibm_8768','tape'): ['ibm 8768-fhx lto-3'],
    ('ibm_bladecentre', 'bladechassis'): ['ibm bladecentre enclosure', 'ibm bc encl 8677-1xx', 'ibm bc encl 8677-3xm', 'ibm bc encl 8677-2xx', '86773xm', '86771xx', '86773xu', 'bc 8677-2xx', 'blade center 8677-2xx', '8677-2xx', '8677-3xm', 'blade center 8677-3xm', '86772xx', 'ibm blade center m/t-m8677-3xm'],
    ('ibm_ds4300','storage'): ['ibm ds4300 1722-60u', 'fastt600 - 1722-6ou', 'fast600 1722-60u'],
    ('ibm_ds4700','storage'): ['ds4700','ibm ds4700 1814-70h'],
    ('ibm_exp24','storage'): ['ibm 7031 d24'],
    ('ibm_exp300','storage'): ['ibm exp 300 3531-1rx', 'exp_300', 'ibm exp 300', 'exp 300'],
    ('ibm_exp400','storage'): ['ibm exp 400', 'exp_400', 'ibm exp 400 1733-1ru', 'ibm exp 400 1733-1rx', 'ibm exp400', 'ibm exp400 1733-1rx', 'ibm exp400 1733-2rx'],
    ('ibm_exp500','storage'): ['exp500 - 3560 - iru', 'exp500 - 3560-iru', 'ibm 3560 1ru', 'ibm exp 500 3560-1ru'],
    ('ibm_exp700','storage'): ['ibm exp 700', 'exp_700', 'exp700 - 1740 - iru', 'exp700 - 1740 - irx', 'exp700 - 1740-irx', 'exp700 17401rx', 'exp700 - 1740-1rx', 'exp700 1740-1rx', 'ibm exp 700 1740-1rx', 'ibm exp 700 1740-1ru', 'ibm exp700'],
    ('ibm_exp710','storage'): ['ibm exp 710 1740-710', 'exp710 1740-710'],
    ('ibm_exp810','storage'): ['ibm exp810 1812-81a'],
    ('ibm_ts3100','tape'): ['storage 3573l3s','3573-l3s', 'ibm 3573 l2u', 'ibm 3573-l3s'],
    ('juniper_ns2000', 'router'): ['netscreen 2000'],
    ('juniper_ns208', 'router'): ['netscreen 208', 'juniper networks netscreen 208'],
    ('juniper_ns4000', 'router'): ['netscreen sa-4000', 'juniper sa4000a', 'juniper networks sa4000a'],
    ('juniper_ns5', 'router'): ['netscreen 5xt'],
    ('juniper_ns50', 'router'): ['netscreen 50', 'ns-50'],
    ('juniper_ns500', 'router'): ['netscreen 500', 'juniper networks netscreen 500'],
    ('juniper_sa2000', 'router'): ['juniper sa2000'],
    ('juniper_sa4000', 'router'): ['juniper sa4000a'],
    ('juniper_ssg140', 'router'): ['ssg140', 'juniper netscreen ssg-140', 'netscreen ssg-140', 'ssg-140'],
    ('juniper_ssg520', 'router'): ['ns ssg 520', 'ssg-520-001'],
    ('juniper_ssg550', 'router'): ['ns ssg 550', 'juniper networks ssg-550'],
    ('ldom', 'virtual'): ['ldom'],
    ('netapp_c1105', 'filer'): ['netapp c1105', 'net app c1105', 'netcache c1105'],
    ('netapp_c1200', 'filer'): ['netapp c1200', 'net app c1200', 'netcache c1200', 'network appliance c1200'],
    ('netapp_c1300', 'filer'): ['netapp c1300', 'network appliance c1300', 'c1300'],
    ('netapp_c2100', 'filer'): ['netapp c2100', 'net app c2100', 'netappliance c2100', 'network appliance c2100', 'netcache c2100'],
    ('netapp_c2300', 'filer'): ['netcache c2300'],
    ('netapp_c3300','filer'): ['net app c3300', 'netapp c3300', 'network appliance c3300'],
    ('netapp_fas2020', 'filer'): ['fas2020'],
    ('netapp_fas2040', 'filer'): ['fas2040'],
    ('netapp_fas250', 'filer'): ['netapp fas250', 'fas250'],
    ('netapp_fas270', 'filer'): ['netapp fas270c', 'network appliance fas270', 'fas270-r5'],
    ('netapp_fas3020', 'filer'): ['fas3020', 'fas3020c'],
    ('netapp_fas3040', 'filer'): ['fas3040'],
    ('netapp_fas3140', 'filer'): ['fas3140'],
    ('netapp_fas3170', 'filer'): ['fas3170'],
    ('netapp_fas3210', 'filer'): ['fas3210'],
    ('netapp_fas6030', 'filer'): ['fas6030'],
    ('netapp_fas6040', 'filer'): ['fas6040', 'network appliance fas 6040'],
    ('netapp_v3020c', 'filer'): ['v3020c'],
    ('netapp_vtl700', 'filer'): ['vtl700', 'vtl 700'],
    ('nokia_ip440', 'appliance'): ['ip440'],
    ('radware_ondemand2', 'loadbal'): ['on demand switch 2'],
    ('sony_sd500', 'tape'): ['sny sdx s500c', 'sdx-s500c'],
    ('sun_6000', 'chassis'): ['sunblade 6000 chassis', '6000'],
    ('sun_a1000', 'storage'): ['sun storedge a1000', 'sun a1000'],
    ('sun_a5000', 'storage'): ['sun a5000', 'sun microsystems enterprise network array' ],
    ('sun_a5100', 'storage'): ['sun a5100'],
    ('sun_a5200', 'storage'): ['sun a5200', 'sun microsystems storedge a5200'],
    ('sun_c4', 'tape'): ['storagetek c4', 'sun v890 - c4 tape drive'],
    ('sun_d1000', 'storage'): ['sun storedge d1000', 'sun d1000', 'sun microsystems storedge d1000', 'storedge d1000'],
    ('sun_d220', 'storage'): ['sun d220', 'd220'],
    ('sun_d280', 'storage'): ['sun d280', 'd280'],
    ('sun_dlt', 'tape'): ['sun storedge [tm] sdlt 320', 'sg-xtapelto3-d-2', 'sldt-320'],
    ('sun_dlt4000','tape'): ['sun_dlt_4000', 'sun dlt 4000'],
    ('sun_l1000', 'tape'): ['sun l1000'],
    ('sun_l180', 'tape'): ['sun l180', 'l180'],
    ('sun_l20', 'tape'): ['sun l20', 'storagetek l20'],
    ('sun_l280', 'tape'): ['sun l280', 'storedge l280'],
    ('sun_l500', 'tape'): ['storagetek l500'],
    ('sun_l700', 'tape'): ['sun l700', 'storagetek l700 tape library', 'sun storagetek l700', 'storagetek l700/bladestore', 'l700'],
    ('sun_l700e', 'tape'): ['l700e', 'sun storagetek l700e'],
    ('sun_l9', 'tape'): ['sun l9 tape drive'],
    ('sun_lto', 'tape'): ['sun_storedge_[tm]_lto3', 'sun storedge [tm] lto3', 'lto 3', 'ultrium lto 3'],
    ('sun_multipack', 'storage'): ['sun multipack', 'sun multipack 6', 'sun multipack 12', 'sun microsystems ultra scsi', 'sun microsystems scsi'],
    ('sun_p1000', 'tape'): ['p1000', 'quantum atl p1000', 'qtm p1000', 'sun atl p1000'],
    ('sun_s1', 'storage'): ['sun s1', 'sun storedge s1', 'sun microsystems storedge s1', 'storedge s1', 'sun se s1'],
    ('sun_se3120', 'storage'): ['sun 3120', 'sun storedge 3120'],
    ('sun_se3150', 'storage'): ['sun 3150', 'sun storedge 3150'],
    ('sun_se3310', 'storage'): ['sun 3310', 'sun storedge 3310', 'storedge 3300'],
    ('sun_se3500', 'storage'): ['stor edge 3500'],
    ('sun_se3510', 'storage'): ['sun 3510', 'sun storedge 3510', 'storedge 3510'],
    ('sun_se6130', 'storage'): ['se6130',],
    ('sun_se6140', 'storage'): ['sun 6140'],
    ('sun_storagetek6100', 'storage'): ['storage tek 6100'],
    ('sun_storagetek6540', 'storage'): ['storage tek 6540'],
    ('sun_t2540', 'storage'): ['t2540', ],
    ('sun_t3', 'storage'): ['sun t3', 'sun t3+', 'se t3', 'sun t300', 'sun t300 storegetek','storedge t3'],
    ('sym_5220', 'appliance'): ['5220'],
    ('syn_rs408rp', 'storage'): ['rs408rp', 'rs408-rp'],
    ('trend_iwsa2500', 'appliance'): ['trend 2500 iwsa'],
    ('vmware', 'virtual'): ['vm', 'vmware esx', 'vmware, inc. vmware virtual platform', 'vmware virtual platform none', 'vmware virtual platform', 'virtual machine', 'esx vmware', 'esx', 'esx vm environment', 'esx vm', 'virtual', 'esx farm', 'esx/farm', 'virtual server', 'esx farm environment', 'vmware, inc', 'esx vm enviroment', 'esx farm enviroment', 'vmware 4.1 farm', 'n/a', 'vmware', 'vm ware', 'vmware 3.5 farm'],

}

################################################################################
class UnknownHardware(Exception):
    pass

################################################################################
def getHardware(hwdesc):
    """ Return the type of hardware (server, tape, storage, etc) and the
        generic hardware name
    """
    if type(hwdesc)==type(u''):
        hwdesc=hwdesc.encode('latin-1')
    if type(hwdesc)!=type(''):
        sys.stderr.write("Bad hardware: '%s'\n" % `hwdesc`)
        raise UnknownHardware, "Bad hardware specification: %s" % type(hwdesc)
    hwdesc=hwdesc.lower().strip()
    for k in hwmap:
        if hwdesc==k or hwdesc in hwmap[k] or hwdesc.replace('_',' ') in hwmap[k]:
            if type(k)==type((0,)):
                hwtype=k[1]
                hwname=k[0]
            else:
                hwtype='server'
                hwname=k
            return hwtype,hwname

    raise UnknownHardware, hwdesc

################################################################################
if __name__=="__main__":
    hwdesc=" ".join(sys.argv[1:])
    try:
        t,n=getHardware(hwdesc)
    except UnknownHardware:
        print "No idea what '%s' is" % hwdesc
    else:
        print "%s, %s" % (t,n)

#EOF
